home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
system
/
ipca12a.zip
/
IPCA12A.DOC
< prev
next >
Wrap
Text File
|
1991-10-10
|
6KB
|
161 lines
IPCA.EXE
********
(Ver 1.2a - 19 Apr 91)
Copyright (c) and developed by
José Campione
2415 SouthVale Cr. U-25, Ottawa, Ont. K1B 4T9 (613) 523-4345.
and
C. Robert Parkinson
5 Ramsgate, Ottawa, Ont. K1V 8M4, (613) 523-7299.
... from the PUB SQUAD ...
* * *
NOTICE
======
This program and every file distributed with it are copyright (c)
by the authors who retain authorship both of the pre-compiled and
compiled codes. Their use and distribution is unrestricted as long
as nobody gets any richer in the process. Although these programs
were developed to the best of the authors abilities, no guarantee
can be made on the results of their performance. By using them the
user accepts all risks and the authors decline all liabilities.
INTRODUCTION
============
DOS has an interesting memory location area with the pompous name
of "Inter-Process Communication Area" (IPCA), also sometimes referred
to as the "Inter-Application Communications Area". This area is
actually the last 16 bytes of the 256-byte BIOS Data Area, also known
as the BIOS Communication Area. The BIOS Data Area is found starting
at memory address 0000:0400 and extending to 0000:04FF. Therefore,
the IPCA consists of 16 consecutive bytes, located at RAM memory
address 0000:04F0h through 0000:04FFh.
The IPCA is very seldom used by any program, but it can be used
to store and retrieve small items of information, allowing
communication between programs or processes across program, shell and
subdirectory boundaries. Thus, the IPCA can readily be used as a
"mini-environment" and IPCA.EXE will act as a "mini-SET command".
It can be used to set 8-byte flags (128 bits). It allows for
256^16 combinations of bytes.
IPCA.EXE defines this area as an array of bytes and allows its
use through strings entered on the command line.
Depending on the commands, use of the area is accessed as a
string of characters or an array of bytes. When accessing it through
the string commands, the area has room for 15 characters. When it is
accessed by the byte commands, the entire 16-byte area is accessible.
Caution must be taken in using this area, as there is no
guarantee that an intermediate program will not overwrite the area
before the desired "target" recipient can retrieve the information.
To view the entire BIOS Data Area, including the IPCA, you may
use the program BIOSDATA.EXE, from PC Magazine Vol 9 #22 (25 Dec 90).
The IPCA will be the last displayed line on the screen.
More information on this area can be found in "Turbo Pascal
Advanced Techniques", by Chris Olsen and Gary Stoker (QUE Corp 1989).
SYNTAX
======
The following commands are permitted in IPCA.EXE:
General Commands:
-----------------
IPCA 0 .............. clears the entire IPCA area.
IPCA w .............. writes the entire IPCA contents to the screen.
String Commands:
----------------
IPCA e qwerty ....... enters string "qwerty", starting in position 1.
IPCA a asdfgh ....... adds "asdfgh", starting with the next available
byte space (immediately after "qwerty" if the
previous command has been run first).
IPCA c tyasd ........ checks to see if the string "tyasd" exists in
the IPCA (it would succeed it the previous two
commands had been entered first, because the
IPCA string would be: "qwertyasdfgh" with
"tyasd" starting at position 5).
If it succeeds EL = 0, if not EL = 1.
IPCA r tyasd ........ same as above, but will report "yes!" or "no!".
Byte Commands:
--------------
IPCA s 10 234 ....... sets byte 10 in the IPCA to the value 234.
IPCA t 10 234 ....... tests to see if byte 10 in the IPCA has value
234; if yes, it exits with EL = 0, if not,
then EL = 1.
IPCA u 10 234 ....... same as above but will report "yes!" or "no!".
IPCA b 10 ........... exits with EL set to the ASCII value of byte
10.
NOTE: The byte commands allow access to byte 1, which determines the
---- used and available area for strings. Also, the setting of
bytes does not automatically modify byte 1 in the IPCA. This may
create confusion when mixing string and byte commands. It can be
done, but care is required.
First parameters are case insensitive, but the strings in the
second parameter, as well as the searches, are case sensitive.
When reporting to the screen, null bytes are written as underline
characters and ASCII 7 is written as a period. But the stored byte
values are the real ones.
ERROR MESSAGES
==============
The following error messages will be written on-screen, as
necessary:
1 - Two parameters required in command line.
2 - 1st parameter longer than one character.
3 - 2nd parameter longer than 15 characters.
4 - 1st parameter not an acceptable "AECRSTUW" value.
5 - 2nd parameter too long to fit in IPCA.
6 - 2nd parameter must be in ASCII [1..16] range.
7 - 3rd parameter is not in ASCII [0..255] range.
EXIT ERRORLEVELS
================
If there is an error, the program exits with EL = 255. If no
error, EL = 0, except for parameters c,r,t and u. If the conditions
tested by these parameters are not met, the program exits with
EL = 1.